A large number of applications for manipulating the output of still and video cameras involve the alignment of two or more images. For instance, by manipulating multiple low-quality exposures of a still camera photo, a higher-quality photo can be formed. However, existing image alignment techniques tend to lack either computational efficiency or robustness.